1. Field of the Invention
The present invention relates to communication systems. More particularly, the present invention relates to a method and apparatus for determining to which user to provide access from among several users attempting to access a code division multiple access system.
2. Description of the Related Art
In accordance with several types of communication systems currently being used, access to the system is provided to one user at a time. Therefore, when a first user is granted access to the system, each other user must wait until the first user has released the system and access is granted to that user before he can use the system to communicate. Furthermore, in some such systems a scheduler is responsible for determining to which of the users access is to be granted. Each user applies to the scheduler for access to the system. The scheduler then selects from among the users that have submitted their applications.
In other systems, such as code division multiple access systems, access is granted to several users at once. In one such system, access is granted to users based upon several criteria. The first, and most important, criteria is to what type of service each user has subscribed. For example, in one such system, a user can request constant bit rate (CBR) service, variable bit rate (VBR) service, or available bit rate (ABR) service. Users that pay for CBR service are guaranteed to receive service at an agreed upon data rate (i.e., bit rate). In contrast, if a user pays for VBR service, the user will be provided service at the rate necessary to transmit the particular information that is being sent. In such cases, the user""s fees are typically calculated based upon the rates that were requested and granted to the user. If the user pays for ABR service, then the user will be granted access and a data rate that on an xe2x80x9cas availablexe2x80x9d basis. Therefore, if there is sufficient capability in the system to provide access to an ABR user, then the ABR user will be granted access.
The capability of the system is typically dependent upon whether the amplifier in the transmitter is capable of transmitting the ABR user""s information with sufficient power without overdriving the amplifier in light of the amount of power required by each of the CBR and VBR users"" power requirements. The data rate at which the access will be granted will depend upon the amount of power that is available for transmitting the ABR user""s data.
One example of an ABR user is an internet service provider (ISP). Since customers of an ISP are able to tolerate delays and lower data rates, ISPs typically will opt for the less expensive ABR service. Even so, there are frequently situations in which there is insufficient power to transmit data for all of the ABR users that are requesting ABR service at any particular point in time. Therefore, the transmitting station must determine to which ABR users service is to be provided.
Several techniques are known for determining how to select the particular user to whom access to a system should be granted in a shared access communication system in which access is granted to only one user at a time or to less than all of the users requesting service. Access to the system is provided by one or more channels (i.e., air interface links between a common transmitting station and the user) to the user. Accordingly, each user is associated with at least one channel. In a CDMA system, each channel is associated with a unique CDMA code. Typically, the condition (i.e., quality) of the channel directed to each user will vary over time. Furthermore, the condition of the channels will vary from user to user. In some systems, access is granted to the user that can most efficiently use the system (i.e., the user associated with the best channel and thus able to receive data at the highest rate), thus maximizing the throughput of the communication system (i.e., amount of data that can be communicated by the system within a predetermined amount of time). In other systems, access is granted such that each user will be provided with essentially equal access to the system when compared with the other users over a predetermined period of time. Equal access can refer to either the fact that each user gets an equal amount of time to communicate over the system, or that each user gets to transmit an equal amount of data over the system. Both the scheme in which the most efficient system user gets access and the scheme in which equal access is provided to each user are deficient. The scheme that focuses on maximizing throughput can lead to a situation in which some users receive little access to the system. In systems in which each user pays equally for access, this situation is unacceptable due to the resulting inequitable distribution of access. Likewise, in schemes in which each user is granted equal access regardless of the ability of that user to efficiently use the system, the throughput of the system suffers.
Accordingly, there is a need for a method and apparatus for determining to which user to grant access to a shared access communication system, such that the throughput of the system is maximized while ensuring that each user is granted equitable access to the communication system.
The disclosed method and apparatus is a transmitter directed, multiple receiver, communication system using path diversity. Path diversity is provided by the fact that at least some of the receivers are uniquely located with respect to others of the receives. Due to the differing paths, variations in the channel conditions of the channels will be uncorrelated. Therefore, at any particular time, some receivers will have a better instantaneous channel condition relative to the average condition of that channel.
The presently disclosed method and apparatus attempts to achieve two essentially competing goals in a system in which access is provided to less than all of the users at any one time. The first of these two goals is to equitably provide access to users of the communication system over xe2x80x9cchannelsxe2x80x9d (e.g., air interface links) between a common transmitting station and each user. The second of these two goals is to maximize the total amount of data communicated through all of the channels of the communication system (i.e., system throughput).
The disclosed method and apparatus attempts to balance the two competing goals stated above by taking advantage of uncorrelated variations in the condition of each channel over time. In the simple case of two channels competing for access to the system, the times at which the channel conditions for the first channel are relatively high are essentially arbitrary with respect to the times at which the channel conditions for the second channel are relatively high. The presently disclosed method and apparatus takes advantage of this fact by attempting to transmit to the user associated with the channel that has the highest instantaneous channel condition relative to the average channel conditions for that channel. That is, by transmitting over the channel that has the greatest ratio of current conditions to average conditions, each channel will be used when it is at its best. If each channel is only used when it is at its best, the overall throughput of the system will be increased.
The determination as to which channel to select is made as follows. The common transmitting station transmits information to the users in time slots. A time slot is a period of time having a predetermined duration during which the common transmitting station transmits to a limited number of users. It will be assumed for simplicity that the common transmitter can transmit on only one channel at a time. Accordingly, for each time slot, the common transmitting station must select one channel. The instantaneous condition of the channel between a user and the common transmitting station is monitored by the user. An instantaneous channel condition indicator is communicated by the user to the common transmitting station for each time slot. The instantaneous channel condition indicator is a value representative of the condition of the channel during one time slot. The common transmitting station filters the instantaneous channel condition indicators associated with each channel to generate a filter output value for each channel at each time slot. In one embodiment of the disclosed method and apparatus, the filter function is defined such that a filter output value associated with each user and each transmission time slot represents the average throughput (i.e., average amount of data transmitted to that user over a period of time). Alternatively, the filter function is defined such that the filter output value represents an average of the channel condition of the channel between the common transmitting station and the user associated with the channel.
In accordance with one embodiment of the presently disclosed method and apparatus, for each channel the value of the instantaneous channel condition indicator is compared to (e.g., divided by) the filter output value for that channel to generate an xe2x80x9caccess metricxe2x80x9d for that channel. The access metric is a measure of the desirability of granting the user access relative to the desirability of granting each other user access. The common transmitting station uses the access metric to directly compare the desirability of granting access to any one channel with the desirability of granting access to each other channel. The user that has the greatest access metric is provided access to the channel.
In one embodiment of the disclosed method and apparatus, the filter output value is generated using a low-pass filter function to define a window in time over which the filter output value will be generated. A time constant of the filter reflects a xe2x80x9cfairness time-scalexe2x80x9d (i.e., the duration of the window in time). The fairness time-scale represents the duration of time over which it is desirable to have equitable access provided to each user. It should be understood that the fairness time-scale is dependent upon factors that include the type of data that is being transmitted to the users. For example, assume the transmission of internet data to users attempting to gain access to the internet. If each user receives an equitable amount of access to the system within a one second, each user is likely to consider the access granting scheme to be fair, even if one user gets greater access for a the entire beginning portion of the second. Accordingly, one second would be an appropriate fairness time-scale. In contrast, if the fairness time-scale were only one millisecond, then allowing one user access to the system for the first 100 milliseconds of the second would not be considered to be fair.
In one embodiment of the presently disclosed method and apparatus, the filter output value is updated only when the channel associated with that filter has been provided access. In the preferred embodiment of the presently disclosed method and apparatus, the filter output value is updated based on the rate at which that user received data. In this way, the filter output value reflects the average throughput to each user. This results in a built-in feedback mechanism that works to bias the selection of which user is to gain access. In accordance with this method and apparatus, when a user has been granted access, that user will be automatically penalized when competing for access in the future.
Alternatively, in the case in which the filter output value represents the average channel condition, a bias is created by artificially increasing the access metric to compensate for the increase in the throughput to that user with respect to the users that did not received access during that period. The amount of this compensation may be fixed or may be proportional to the amount of data that was received during the last access. This allows the control of the average throughput to users to be weighted to favor those users that have received less data.
Details of the disclosed method and apparatus are provided in the detailed description that follows.